package com.wkbb.common.dto.basic;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 班级信息表
 * b_class_info
 *
 * @author Lxc
 * @date 2019-07-01 13:57:32
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ClassInfo implements Serializable {
    @ApiModelProperty(value = "学生人数")
    private int studentNum;
    @ApiModelProperty(value = "编号")
    private Long id;
    @ApiModelProperty(value = "学校ID")
    private Long orgId;
    @ApiModelProperty(value = "班级类型 1常规班 2兴趣班 3临时班 4课程班 5托管班")
    private Integer classType;
    @ApiModelProperty(value = "服务标识（课程uniqueId or 托管uniqueId）")
    private String serviceUniqueId;
    @ApiModelProperty(value = "服务名称")
    private String serviceName;
    @ApiModelProperty(value = "学生列表")
    private String studentIds;
    @ApiModelProperty(value = "学校名称")
    private String orgName;
    @ApiModelProperty(value = "年级ID")
    private Long gradeId;
    @ApiModelProperty(value = "年级名称")
    private String gradeName;
    @ApiModelProperty(value = "班级名称")
    private String className;
    @ApiModelProperty(value = "教师ID")
    private Long masterId;
    @ApiModelProperty(value = "班主任名称")
    private String masterName;
    @ApiModelProperty(value = "班主任电话")
    private String masterPhone;
    @ApiModelProperty(value = "开始时间")
    @JSONField(format = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date dateBegin;
    @ApiModelProperty(value = "结束时间")
    @JSONField(format = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date dateEnd;
    @ApiModelProperty(value = "班级特色")
    private String feature;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "状态(0无效1有效)")
    private Boolean status;
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    @ApiModelProperty(value = "创建人")
    private String createBy;
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
    @ApiModelProperty(value = "修改人")
    private String updateBy;
    private Long oldClassId;
    @ApiModelProperty(value = "智慧校园班级ID")
    private String smartClassId;
    @ApiModelProperty(value = "原班主任ID")
    private Long oriMasterId;
    @ApiModelProperty(value = "入学年份")
    private Integer enrollmentYear;
    @ApiModelProperty(value = "班级邀请码")
    private String inviteCode;
}